Transmission of serial data is usually performed by encoding the data into entities called frames, and between transmission of frames an idle sequence is transmitted. Additionally, several modifications of the idle sequence are transmitted to signal primitive link conditions. Further, to increase bandwidth between computing elements, multiple serial conductors can be coupled to increase the transmission speed.
The first step in receiving information from a single serial source is recognizing bit sequences. The bits are usually grouped into characters or, in this case, groups of characters called words. A precise interpretation of all possible sequences, including those caused by errors due to noise and/or design errors, must be defined so that all equipment connected to the serial link has a consistent interpretation.
Most frames containing information fields (data) require a buffer at the receiving end of the link. Usually, the contents of a frame directed at a particular buffer is simply loaded into the targeted buffer. The protocols on the link usually insure that frames sent over the link do not erroneously overwrite the contents of the receiving buffer. To protect the contents and operation of receiving buffers, the concept of receive buffer states is introduced.
When multiple frames are used to send data to a single buffer, each frame has to be processed, and the more frames that are used to send a given amount of data, the more processing overhead is required. By adding hardware to determine the beginning and end of a buffer transfer, the processing overhead is reduced.
Finally, when multiple serial conductors are coupled to increase the transmission speed, the information in the frames has to be assembled and disassembled for the message to be intelligible. Normally, this processes is designed for a fixed number of conductors. This process must be extended to accommodate a variable number of conductors.